package com.app.service.article;

import com.app.domain.bo.article.ArticleCommentBo;
import com.app.domain.page.Page;
import com.app.domain.po.article.ArticleCommentPo;
import com.app.domain.vo.article.ArticleCommentVo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 文章评论方法
 */
public interface ArticleCommentService extends IService<ArticleCommentPo> {

    /**
     * 获取全部评论
     *
     * @param bo 入参
     */
    Page<ArticleCommentVo> allComment(ArticleCommentBo bo);

    /**
     * 用户评论列表
     *
     * @param bo 入参
     */
    Page<ArticleCommentVo> userComment(ArticleCommentBo bo);

    /**
     * 评论列表
     *
     * @param commentBo 入参
     */
    Page<ArticleCommentVo> lists(ArticleCommentBo commentBo);

    /**
     * 查看更多
     *
     * @param bo 入参
     */
    Page<ArticleCommentVo> mores(ArticleCommentBo bo);

    /**
     * 添加评论
     *
     * @param bo 入参
     */
    void saveOne(ArticleCommentBo bo);

    /**
     * 删除评论
     *
     * @param commentId 评论ID
     */
    void deleteOne(Long commentId);

    /**
     * 屏蔽评论
     *
     * @param commentId 入参
     */
    void shield(Long commentId);

    /**
     * 评论点赞
     *
     * @param commentId 评论ID
     */
    void like(Long commentId);

}